package com.xd.common.base;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

@Data
public class ParentQuery<E> {
    /**
     * 关键词
     */
    @ApiModelProperty(value = "关键词")
    private String key;
    /**
     * 当前的
     */
    @ApiModelProperty(value = "当前页")
    private Integer pageNum = 1;
    /**
     * 限制
     */
    @ApiModelProperty(value = "每页的数量")
    private Integer pageSize = 10;
    /**
     * 开始时间
     */
    @ApiModelProperty(value = "开始时间")
    private String startTime;
    /**
     * 结束时间
     */
    @ApiModelProperty(value = "结束时间")
    private String endTime;
    /**
     * 更新开始时间
     */
    @ApiModelProperty(value = "更新开始时间")
    private String updateStartTime;
    /**
     * 更新结束时间
     */
    @ApiModelProperty(value = "更新结束时间")
    private String updateEndTime;
    /**
     * 创建开始时间
     */
    @ApiModelProperty(value = "创建开始时间")
    private String createStartTime;
    /**
     * 创建结束时间
     */
    @ApiModelProperty(value = "创建结束时间")
    private String createEndTime;
    /**
     * 最后跟进开始时间
     */
    @ApiModelProperty(value = "最后跟进开始时间")
    private String followStartTime;
    /**
     * 最后跟进结束时间
     */
    @ApiModelProperty(value = "最后跟进结束时间")
    private String followEndTime;
    /**
     * 消耗开始时间
     */
    @ApiModelProperty(value = "开始时间")
    private String consumeStartTime;
    /**
     * 消耗结束时间
     */
    @ApiModelProperty(value = "结束时间")
    private String consumeEndTime;
    /**
     * 实体
     */
    @ApiModelProperty(value = "实体对象")
    private E entity;


    @ApiModelProperty(value = "状态(0--全部,1--待跟进,2--转客户,3--重要)")
    private String status;

    @ApiModelProperty(value = "客户id")
    private Integer customerId;

    @ApiModelProperty(value = "所有客户=0,我的客户=1")
    private String type;

    @ApiModelProperty(value = "客户星级")
    private List<Integer> customerStart;

    /**
     * 开启分页
     */
    public Page<E> startPage() {
        return (Page<E>) PageHelper.startPage(this.getPageNum(), this.getPageSize()).setPageSizeZero(true);
    }
}
